#ifndef _IS_HOMOGRAPHY_R_H
#define _IS_HOMOGRAPHY_R_H

#include <iostream>
#include "is_quaternion_R.h"

class IsHomographyR : public IsQuaternionR
{
public:

    kalmanType imgS;
    kalmanType imgTheta;
    kalmanType imgT[2];
    kalmanType imgSThetaTArray[4];   
    kalmanType imgHomographyMat[H_MATRIX_LENGTH]; //H_MATRIX_LENGTH
    IsHomographyR();
    /* 
     * It will calculate the Homography matrix.
     */
    void getHomographyMat(kalmanType* pArrayTwoQuaternion, 
        kalmanType*pArrayCamInternalMatrix); 
    
    /*
     * This function Decompose this homography matrix into s, theta and T.
     */
   void decomposeHomographyMat(kalmanType* pImgHomographyMat);
    
public:
    virtual ~IsHomographyR(void);

    
};

#endif
